//
//  T3FMap.swift
//  t3_map
//
//  Created by Cunhai Li on 2024/10/22.
//

import Foundation
import CoreLocation

protocol T3FMap {

    /// 地图缩放级别
    var zoomLevel: CGFloat { get set }

//    /// 地图标注
//    var markers: [T3Marker] { get }
//    var polygons: [T3Polygon] { get }
//    var polylines: [T3Polyline] { get }
//    /// 用户位置标注
//    var userMarker: T3Marker? { get }
//    /// 当前地图的中心点，改变该值时，地图的比例尺级别不会发生变化
//    var centerCoordinate: CLLocationCoordinate2D { get }
}

// MARK: - 地图初始化参数配置
struct T3FMapOptions {
    /// 地图类型
    let mapType: T3FMapType
    /// 最大缩放比例
    let maxZoomLevel: CGFloat
    /// 最小缩放比例
    let minZoomLevel: CGFloat
    /// 是否显示用户位置 - 默认显示
    let showLocation: Bool
    /// 地图初始状态
    var initCameraPosition: T3FMapCameraPosition?
}


struct T3FMapCameraPosition {
    let centerCoordinate: CLLocationCoordinate2D
}



/// 三方地图类型
enum T3FMapType: Int, CustomStringConvertible {

    // 高德地图
    case amap = 2
    // 腾讯地图
    case tencentMap = 3

    public var stringValue: String {
        return "\(self.rawValue)"
    }

    public var description: String {
        switch self {
        case .amap:
            return "高德地图"
        case .tencentMap:
            return "腾讯地图"
        }
    }
}
